package com.ohuang.util_a.task;

/**
 * 用于执行异步任务  异步任务结束需要调用taskCallBack.onNext()
 * 通过使用TaskRunUtil运行  TaskRunUtil.runTask();
 */
public abstract class Task {


    private boolean isStop=false;

    final void startRun(TaskCallBack taskCallBack){
        if (isStop){
            taskCallBack.onNext();
        }else {
            run(taskCallBack);
        }
    }
    /**
     *  任务完成需要调用TaskCallBack.onNext()方法  告诉调用者任务完成
     */
    public abstract void run(TaskCallBack taskCallBack);

    public boolean isStop() {
        return isStop;
    }

    public void setStop(boolean stop) {
        isStop = stop;
    }
}
